1. Field of the Invention
The present invention relates to a method and apparatus for controlling the timing of servo pulses in a disk drive, and more particularly, to a method and apparatus for adaptively controlling the timing of servo pulses in consideration of the amount of jitter generated when a rotational speed of a disk is changed.
2. Description of the Related Art
In general, hard disk drives (HDDs) used in computer systems are data storage devices that reproduce data recorded on a disk or record data on the disk using a magnetic head. As the capacity, density, and size of HDDs increase, bits per inch (BPI), which are a measure of the recording density in a rotational direction of a disk, and tracks per inch (TPI), which are a measure of the recording density in a radial direction of the disk, are also increasing. Accordingly, HDDs require a more delicate mechanism.
HDDs read servo information at regular time intervals from a disk, which rotates at a constant speed, using a transducer (referred to as a head), identify a location of a data sector based on the read servo information, and perform write or read operation.
Referring to FIG. 1, a pattern of servo information recorded on a disk of an HDD contains a preamble, a servo address/index mark SAM/SIM, a gray code, and burst signals A, B, C, and D.
The preamble has a gap before a servo sector, thereby providing a constant timing margin. The SAM represents a starting point of the servo sector, and the SIM provides information on a revolution of the disk. The gray code provides identification (ID) information of each track, and the burst signals are used to control a position of a head.
If a disk rotation speed in the HDD is constant, servo information is detected at regular time intervals. However, if the HDD wobbles due to an external impact or the like and the disk rotation speed is changed, the timing at which the servo information is detected is changed. If a write operation is performed when the timing is changed, a position of a sector where data is written is also changed.
In general, the value of spindle jitter (or referred to as spin jitter) represents a difference between a current rotational speed of a disk and a target disk rotation speed. If a spindle jitter value is “0”, the SAM is detected at regular time intervals. However, if it is not “0”, the SAM is detected at shorter or longer intervals.
FIG. 2A illustrates that if data is recorded and reproduced when a spindle jitter value is “0”, a position of a sector pulse and a position of a sector where the data is recorded or reproduced are exactly aligned.
FIG. 2B illustrates that if data is recorded when a spindle jitter value is a negative number and the data is reproduced when a spindle jitter value is 0, a position of a sector pulse for data read operation and a position of a sector where the data is recorded are misaligned.
FIG. 2C illustrates that if data is recorded when a spindle jitter value is a positive number and the data is reproduced when a spindle motor is “0”, a position of a sector pulse for data read operation and a position of a sector where the data is recorded are misaligned.
Methods for correcting the timing of servo pulses including a sector pulse and a servo gate pulse according to the amount of generated spindle jitter have not been developed yet. Accordingly, if spindle jitter is excessively generated in a data write mode, data write operation cannot be performed normally. If data is written in this state, the possibility of errors increases in a data read mode since a position of a sector pulse and a position of a sector where the data is written are misaligned during reproduction.
Further, the possibility of errors increases even when spindle jitter is excessively generated in a data read mode, since a position of a sector pulse and a position of a sector where the data is written are misaligned.
Also, if the amount of spindle jitter is relatively large, a SAM signal exceeds a position of a servo gate pulse, resulting in a failure to detect the SAM signal normally.